var My_Box = {
  config : {
    moving : false ,
    cur_index : 0 ,
  } ,
  init : function( config ){
    var _this = this ;
    $.extend(_this.config , config);
    
    _this.init_btn();
    _this.init_boxes();
    //_this.init_award_list();
  },
  
  init_btn : function(){
    var _this = this ;
    //打开礼盒按钮
    $(document).on('click' , '#open_box_btn' , function(e){
      e.preventDefault();
      var award_obj = $('.boxes').find('li').eq(_this.config.cur_index);
      var id = award_obj.data('id');
      var award_name = award_obj.data('award');
      var url = _this.config.open_box_url + '/' + id ;
      if ( award_name == '未中奖' ) {
        ios_alert.init('<i class="fa fa-frown-o"></i> 抱歉您没中奖', function(){
          window.location.reload();
        });
      } else {
        ios_alert.init('<i class="fa fa-smile-o"></i> 恭喜，您中了 <b>' + award_name + '</b>', function(){
          window.location.href = _this.config.box_detail_url + id ;
        });
      }
      $.get( url , function(){});
    });
    
    //查看详细
    $(document).on('click' , '#view_award_btn' , function(e){
      e.preventDefault();
      var award_obj = $('.boxes').find('li').eq(_this.config.cur_index);
      var id = award_obj.data('id');
      var url = _this.config.box_detail_url + id ;
      window.location.href = url ;
    });
  },
  
  init_boxes : function(){
    var _this = this ;
    _this.config.width = $(window).width();
    _this.config.maxlen = $('.boxes').find('li').length;
    
    var num_html = '';
    for( var i = 0 ; i < _this.config.maxlen ; i++) {
      num_html += '<span></span> ';
    }
    $('.num-tip').html(num_html);
    
    $('.box-slider').find('.num-tip > span').eq(0).addClass('active');
    _this.set_btn( 0 ) ;
    
    $('.boxes').find('li').each(function(index) {
      $(this).css('left' , _this.config.width * index + 'px');  

      $(this).swipe({
        swipeStatus: function (event, phase, direction, distance, duration,fingerCount) {
          if ( distance < 30 ) {
            return ;
          }
          if ( direction == 'left' ) {
            var next_index = index + 1 >= _this.config.maxlen ? 0 : index + 1;
            _this.set_box_slider( index , next_index , 'left' );
          } else if ( direction == 'right' ) {
            var next_index = index - 1 < 0 ? _this.config.maxlen - 1 : index - 1;
            _this.set_box_slider( index , next_index , 'right' );
          }
        },
      });
    });
    /*
    $('.boxes').find('li').on('swipeleft' , function(){
      var index = $('.boxes').find('li').index( $(this) );
      var next_index = index + 1 >= _this.config.maxlen ? 0 : index + 1;
      _this.set_box_slider( index , next_index , 'left' );
    });
    
    $('.boxes').find('li').on('swiperight' , function(){
      var index = $('.boxes').find('li').index( $(this) );
      var next_index = index - 1 < 0 ? _this.config.maxlen - 1 : index - 1;
      _this.set_box_slider( index , next_index , 'right' );
    });
    */
  },
  
  set_box_slider: function( index , next_index , direction ) {
    var _this = this ;
    if ( _this.config.moving ) {
      return ;
    }
    
    _this.config.cur_index = next_index ;
    _this.set_btn(next_index);
    $('.box-slider').find('.num-tip > span').removeClass('active').eq(next_index).addClass('active');
    if ( direction == 'left' ) {
      index_to = _this.config.width * -1 ;
      $('.boxes').find('li').eq(next_index).css('left' , _this.config.width + 'px');
      
    } else if ( direction == 'right' ) {
      index_to = _this.config.width  ;
      $('.boxes').find('li').eq(next_index).css('left' , _this.config.width * -1 + 'px');
    }
    
    $('.boxes').find('li').eq(next_index).show()
    _this.config.moving = true ;
    
    $('.boxes').find('li').eq(index).animate({left : index_to + 'px'} , 'fast' , function(){
      $(this).hide();
    });
    
    $('.boxes').find('li').eq(next_index).animate({left : 0} , 'fast' , function(){
      _this.config.moving = false ;
    });
  },
  
  set_btn : function( index ){
    var status = $('.boxes').find('li').eq(index).data('status')
    if ( status == 1 ) {
      $('#open_box_btn').show();
      $('#view_award_btn').hide();
    } else {
      $('#open_box_btn').hide();
      $('#view_award_btn').show();
    }
  }
};